home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / apl / gview120.lzh / gviewsrc.lzh / jpg_load.c < prev    next >
C/C++ Source or Header  |  1995-02-13  |  1KB  |  50 lines

  1. /*    Copyright 1992 H.Ogasawara (COR.)    */
  2.  
  3. #include    <corlib.h>
  4. #include    <sys_doslib.h>
  5. #include    "gview.h"
  6.  
  7. #define        JPSIZEX        480
  8. #define        JPSIZEY        480
  9.  
  10. #define        JPLOADER    "jpeged.r"
  11. #define        JPOPTION    "-L0,0 -F3 -VS480,480,$"
  12.  
  13. GVIEW *
  14. GV_Load_Jpeg( fname )
  15. char    *fname;
  16. {
  17.     if( CHMOD( fname, -1 ) >= 0 ){
  18.         GVIEW    *gp;
  19.         unsigned char    line[256];
  20.         if( !(gp= GV_Alloc( JPSIZEX, JPSIZEY, WindowAttrGraphic65536,
  21.                             fname, NULL, 0 )) ){
  22.             GV_Err( "メモリが足りません" );
  23.             return    NULL;
  24.         }
  25.         memset( gp->buf, 0, JPSIZEX*JPSIZEY*2 );
  26.         {
  27.             unsigned int    i, num= (int)gp->buf;
  28.             unsigned char    *str= line, *ptr= JPOPTION;
  29.             for(; *ptr ; *str++= *ptr++ );
  30.             for( i= 0 ; i< 6 ; i++, num<<= 4 ){
  31.                 *str++= ((char*)"0123456789abcdef")
  32.                             [(num >>20)&15];
  33.             }
  34.             *str++= ' ';
  35.             for( ptr= fname ; *ptr ; *str++= *ptr++ );
  36.             *str++= '\0';
  37.         }
  38.         ConsoleOpen();
  39.         if( WindowLoadExec( JPLOADER, line, NULL, ConsoleChar ) ){
  40.             MFREE( gp );
  41.             GV_Err2( JPLOADER, "実行できませんでした" );
  42.             return    NULL;
  43.         }
  44.         WindowScreenInit();
  45.         return    gp;
  46.     }
  47.     GV_Err2( fname, "ファイルがありません" );
  48.     return    NULL;
  49. }
  50.